/*******************************************************************************
  * 文件：Hardware_ADC.c
  * 作者：zyz
  * 版本：v1.0.0
  * 日期：2017-08-03
  * 说明：ADC相关
*******************************************************************************/

/* 头文件 *********************************************************************/
#include "Hardware_ADC.h"
#include "r_cg_adc.h"

/* 宏定义 *********************************************************************/
/* 类型定义 *******************************************************************/
/* 变量定义 *******************************************************************/
/* 函数声明 *******************************************************************/
/* 函数定义 *******************************************************************/

/*******************************************************************************
  * 函数名：Hardware_InitADC
  * 功  能：初始化
  * 参  数：无
  * 返回值：无
  * 说  明：无
*******************************************************************************/
void Hardware_InitADC(void)
{
  
}

/*******************************************************************************
  * 函数名：Hardware_GetADCResult
  * 功  能：获取转换结果
  * 参  数：ad_channel_t eChn:通道值，本工程使用 0-5通道，其他未使用
  * 返回值：转换结果
  * 说  明：采集十次，去掉最大最小值，取平均。
*******************************************************************************/
U16 Hardware_GetADCResult(U8 u8Chn)
{
  	if(u8Chn > 5)
	{
	  	return 0;
	}
	else
	{
		return R_ADC_GetAverageValue(u8Chn);
	}
}

/*******************************************************************************
  * 函数名：Hardware_GetVDDResult
  * 功  能：获取VDD转换结果（10位ADC）
  * 参  数：无
  * 返回值：获取VDD转换结果
  * 说  明：VDD=3.6v,1/2分压后接入ADC采集。VDD小于3V时，ADC转换结果小于426
*******************************************************************************/
U16 Hardware_GetVDDResult(void)
{
	return Hardware_GetADCResult(ADCHANNEL5);
}
	
/*******************************************************************************
  * 函数名：Hardware_GetLeftDWQ
  * 功  能：获取左灶电位器转换结果（预留）
  * 参  数：无
  * 返回值：获取左灶电位器转换结果（预留）
  * 说  明：无
*******************************************************************************/
U16 Hardware_GetLeftDWQ(void)
{
  	return Hardware_GetADCResult(ADCHANNEL4);
}

/*******************************************************************************
  * 函数名：Hardware_GetLeftDWQ
  * 功  能：获取左灶NTC转换结果（预留）
  * 参  数：无
  * 返回值：获取左灶NTC转换结果（预留）
  * 说  明：无
*******************************************************************************/
U16 Hardware_GetLeftNTC(void)
{
	return Hardware_GetADCResult(ADCHANNEL3);  
}

/*******************************************************************************
  * 函数名：Hardware_GetLeftRDO
  * 功  能：获取左灶热电偶转换结果
  * 参  数：无
  * 返回值：获取左灶热电偶转换结果
  * 说  明：大于1V电压为点火成功，ADC转换值284
*******************************************************************************/
U16 Hardware_GetLeftRDO(void)
{
	return Hardware_GetADCResult(ADCHANNEL0);  
}

/*******************************************************************************
  * 函数名：Hardware_GetMidRDO
  * 功  能：获取中灶热电偶转换结果
  * 参  数：无
  * 返回值：获取中灶热电偶转换结果
  * 说  明：大于1V电压为点火成功，ADC转换值284
*******************************************************************************/
U16 Hardware_GetMidRDO(void)
{
	return Hardware_GetADCResult(ADCHANNEL1);  
}

/*******************************************************************************
  * 函数名：Hardware_GetRightRDO
  * 功  能：获取右灶热电偶转换结果
  * 参  数：无
  * 返回值：获取右灶热电偶转换结果
  * 说  明：大于1V电压为点火成功，ADC转换值284
*******************************************************************************/
U16 Hardware_GetRightRDO(void)
{
	return Hardware_GetADCResult(ADCHANNEL2);  
}
/***************************** 文件结束 ***************************************/
